package com.kmxd.ams.client.system.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
import lombok.Data;

/**
 * 用户表
 *
 * @author admin
 * @since 2022-03-24
 */
@Data
public class SysUserVO implements Serializable {

  private static final long serialVersionUID = 1L;

  /** 主键 */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long id;

  /** 账号 */
  private String account;

  /** 密码 */
  @JsonIgnore private String password;

  /** 修改密码标记 0未修改；1已修改 */
  @JsonIgnore private String pswModified;

  /** 昵称 */
  private String nickname;

  /** 姓名 */
  private String realname;

  /** 英文名 */
  private String englishName;

  /** 头像 */
  private String avatar;

  /** 邮箱 */
  private String email;

  /** 手机号 */
  private String phone;

  /** 工号 */
  private String staffNumber;

  /** 生日 */
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  private Date birthday;

  /** 性别 1男；2女；3未知 */
  private String sex;

  /** 部门ID */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long deptId;

  /** 锁定标记 0正常；1锁定 */
  private String lockFlag;

  /** 排序 */
  private Integer sort;

  /** 备注 */
  private String remarks;

  /** 状态 0正常；1停用 */
  private String status;

  /** 删除标记 0存在；1删除 */
  private String delFlag;

  /** 创建人 */
  private String createBy;

  /** 创建时间 */
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  private Date createTime;

  /** 更新人 */
  private String updateBy;

  /** 更新时间 */
  @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
  private Date updateTime;

  /** 岗位组 */
  private List<String> postIds;

  /** 角色组 */
  @JsonSerialize(using = ToStringSerializer.class)
  private Long roleIds;

}
